home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / util / dir / managers.lha / Managers / Dir / dir.gfxcon < prev    next >
Text File  |  1997-01-15  |  6KB  |  282 lines

  1. G4C  
  2.  
  3. ; dir.gfxcon - by dck January 1997
  4.  
  5. ; A GUI for the great picture format converter :
  6. ; GfxCon V1.7 © Dirk Farin / farindk@trick.informatik.uni-stuttgart.de 
  7. ; (Available on Aminet)
  8.  
  9. ; Looks for GFXcon under the name contained in variable $DEF.GFXCON
  10.  
  11.  
  12. WinBig -1 -1 200 166 "GfxCon V1.7"
  13. WinType 11110001
  14.  
  15. xOnLoad
  16. setscreen dir.gfxcon $lv_fmscreen
  17. ifexists file $DEF.GFXCON            ; you MUST have configured dir.gc
  18.     ; You're my kind of guy..
  19. else
  20.     EZReq "GFXcon not found!\nPlease configure\nDir.gc correctly." "OK" ""
  21.     guiquit dir.gfxcon
  22.     stop
  23. endif
  24. gfx_format = ILBM            ; our variables
  25. gfx_colors = "" 
  26. gfx_bw     = ""
  27. gfx_flip   = ""
  28. gfx_rot    = ""
  29. gfx_x      = 320
  30. gfx_y      = 250
  31. gfx_size   = ""
  32. gfx_file   = ""
  33. gfx_mode   = FILES
  34. gosub dir.gfxcon FileMode
  35. guiopen dir.gfxcon
  36.  
  37. xOnClose
  38. delvar  gfx_#?
  39. guiquit dir.gfxcon
  40.  
  41. xRoutine FileMode
  42. setgad dir.gfxcon 1 HIDE
  43. setgad dir.gfxcon 2 HIDE
  44. setgad dir.gfxcon 3 HIDE
  45. setgad dir.gfxcon 4 HIDE
  46. setgad dir.gfxcon 5 HIDE
  47. setgad dir.gfxcon 6 HIDE
  48. setgad dir.gfxcon 7 HIDE
  49. setgad dir.gfxcon 8 HIDE
  50. setgad dir.gfxcon 9 HIDE
  51. setgad dir.gfxcon 10 HIDE
  52. setgad dir.gfxcon 11 HIDE
  53. setgad dir.gfxcon 12 HIDE
  54. setgad dir.gfxcon 21 SHOW
  55. setgad dir.gfxcon 22 SHOW
  56. setgad dir.gfxcon 23 SHOW
  57. setgad dir.gfxcon 24 SHOW
  58. setgad dir.gfxcon 25 SHOW
  59. redraw dir.gfxcon
  60.  
  61. xRoutine ConvertMode
  62. setgad dir.gfxcon 1 SHOW
  63. setgad dir.gfxcon 2 SHOW
  64. setgad dir.gfxcon 3 SHOW
  65. setgad dir.gfxcon 4 SHOW
  66. setgad dir.gfxcon 5 SHOW
  67. setgad dir.gfxcon 6 SHOW
  68. setgad dir.gfxcon 7 SHOW
  69. setgad dir.gfxcon 8 SHOW
  70. setgad dir.gfxcon 9 SHOW
  71. setgad dir.gfxcon 10 SHOW
  72. setgad dir.gfxcon 11 SHOW
  73. setgad dir.gfxcon 12 SHOW
  74. setgad dir.gfxcon 21 HIDE
  75. setgad dir.gfxcon 22 HIDE
  76. setgad dir.gfxcon 23 HIDE
  77. setgad dir.gfxcon 24 HIDE
  78. setgad dir.gfxcon 25 HIDE
  79. redraw dir.gfxcon
  80.  
  81. xCycler 0 0 200 14 "" gfx_mode
  82. cstr "Choose/Add Files"      FILES
  83. Cstr "Converting Options"    CONVERT
  84. if $gfx_mode = CONVERT
  85.    gosub dir.gfxcon ConvertMode
  86. else
  87.    gosub dir.gfxcon FileMode
  88. endif
  89.  
  90. ;------------------------------- PRETTY OBVIOUS OPTIONS GADGETS
  91.  
  92. xCycler 70 15 125 14 Format gfx_format
  93. GadID 1
  94. cstr ILBM ILBM
  95. cstr GIF  GIF
  96. cstr JPEG JPEG
  97. cstr PCX  PCX
  98. cstr PostScript Postscript
  99. cstr RGB-Raw   RGB-Raw
  100.  
  101.  
  102. xCycler 70 30 125 14 Colors gfx_colors
  103. GadId 2
  104. cstr Default ""
  105. cstr 16      16
  106. cstr 32      32
  107. cstr 128     128
  108. cstr 256     256
  109. cstr 2       2
  110. cstr 4       4
  111. cstr 8       8
  112.  
  113. xCycler 70 45 125 14 Type gfx_bw
  114. GadId 3
  115. cstr Default    ""
  116. cstr GRAYSCALE  GRAYSCALE
  117. cstr BW         BW
  118. cstr INVERT     INVERS
  119. cstr "NO Red"   NORED
  120. cstr "NO Green" NOGREEN
  121. cstr "NO Blue"  NOBLUE
  122.  
  123. xCycler 70 60 125 14 Flip gfx_flip
  124. gadid 11
  125. Cstr None  ""
  126. cstr "Flip X" FLIPX
  127. cstr "Filp Y" FLIPY
  128. cstr "Flip XY" "FLIPX FLIPY"
  129.  
  130. xcycler 70 75 125 14 Rotate gfx_rot
  131. gadid 12
  132. cstr None ""     
  133. cstr "90 Left"   ROTATELEFT
  134. cstr "90 Right"  ROTATERIGHT
  135.  
  136. ; NOT IMPLEMENTED YET
  137. ; slider contrast CONTRAST 0-100
  138. ; slider brightness BRIGHTNESS 0-255
  139.  
  140. ;---- Size
  141.  
  142. xCycler 70 90 125 14 Size gfx_size
  143. gadid 4
  144. cstr Same    ""
  145. cstr BOXFIT  BOXFIT
  146. cstr SIZE    SIZE
  147. if $gfx_size = NONE
  148.    setgad dir.gfxcon 5 OFF
  149.    setgad dir.gfxcon 6 OFF
  150. else
  151.    setgad dir.gfxcon 5 ON
  152.    setgad dir.gfxcon 6 ON
  153. endif
  154.  
  155. ; -- Size textin gadgets
  156. xTEXTIN 70 105 60 18 "" gfx_x 320 10
  157. gadid 5
  158. SetGad dir.gfxcon 6 ON
  159.  
  160. xTEXTIN 135 105 60 18 "" gfx_y 250 10
  161. gadid 6
  162.  
  163. ; -------------------- Status Boxes
  164.  
  165.  
  166. TEXT 5 125 40 10 "Status:" 20 NOBOX
  167. gadid 7
  168.  
  169. TEXT 5 135 190 14 "No Files" 130 BOX
  170. GadID 8
  171.  
  172.  
  173. ;--------------------- LISTVIEW SHOWING FILES TO CONVERT
  174.  
  175. xListView  0 15 200 135 "" gfx_file "" 10 MULTI
  176. gadid 21
  177.  
  178. xbutton 0 150 50 14 View
  179. gadid 25
  180. lvmulti dir.gfxcon 21 first
  181. while $gfx_file > ""
  182.    FILENAME = $gfx_file
  183.    gosub dir.view ViewFile
  184.    lvmulti dir.gfxcon 21 next
  185. endwhile
  186.  
  187. xButton  50 150 50 14 Add            ; add files selected from dir.gc
  188. gadid 22
  189. lvmulti dir.gc $$LV_ID first
  190. while $lv_file > ""
  191.    lvadd   dir.gfxcon 21 $lv_file
  192.    lvmulti dir.gc $$LV_ID off
  193.    lvmulti dir.gc $$LV_ID next
  194. endwhile
  195.  
  196. xButton  100 150 50 14 Del           ; delete selected files
  197. gadid 23
  198. lvmulti dir.gfxcon 21 first
  199. while $gfx_file > ""
  200.    lvdel dir.gfxcon 21 -1
  201.    lvmulti dir.gfxcon 21 next
  202. endwhile
  203.  
  204. xButton  150 150 50 14 Clr
  205. gadid 24
  206. lvclear dir.gfxcon 21
  207.  
  208.  
  209. ;-------------------- Cancel the relaunch of gfxcon
  210.  
  211. xButton 100 150 95 14 CANCEL 
  212. gadfont topaz.font 8 010
  213. gadid 9
  214. gfx_flag = 1
  215.  
  216.  
  217. ;-------------------- This is where we do our stuff!
  218.  
  219. xBUTTON 5 150 95 14 "Convert"
  220. gadid 10
  221. gadfont topaz.font 8 010
  222. gfx_flag = 0
  223. lvget dir.gfxcon 21 0 gfx_cfile
  224. if $gfx_cfile > ""
  225.    lvdel  dir.gfxcon 21 0
  226.    update dir.gfxcon 7 Converting:
  227.    update dir.gfxcon 8 $gfx_cfile
  228.    gosub  dir.gfxcon makecom
  229.    setstack 20000
  230.    Launch 1 '$DEF.GFXCON >NIL: $gfx_cfile $gfx_com NOPROGRESS'
  231.    setstack 4000
  232. endif
  233.  
  234. ; This is where the Launch command will return to when the program
  235. ; it has run has finished executing. We then tell it to do it again
  236.  
  237. xOnReturn 1
  238. update dir.gfxcon 7 Status:
  239. update dir.gfxcon 8 Finished
  240. if $gfx_flag = 1
  241.    stop
  242. endif
  243. lvget dir.gfxcon 21 0 gfx_cfile
  244. if $gfx_cfile > ""
  245.    lvdel  dir.gfxcon 21 0
  246.    update dir.gfxcon 7 Converting:
  247.    update dir.gfxcon 8 $gfx_cfile
  248.    gosub  dir.gfxcon makecom
  249.    setstack 20000
  250.    Launch 1 '$DEF.GFXCON >NIL: $gfx_cfile $gfx_com NOPROGRESS'
  251.    setstack 4000
  252. endif
  253.  
  254.  
  255. ; ------------ Routine to form command line
  256.  
  257. xroutine makecom
  258. gfx_com = 'FORMAT $gfx_format'
  259. if $gfx_colors > ""
  260.    appvar gfx_com ' COLORS $gfx_colors'
  261. endif
  262. if $gfx_bw > ""
  263.    appvar gfx_com ' $gfx_bw'
  264. endif
  265. if $gfx_flip > ""
  266.    appvar gfx_com ' $gfx_flip'
  267. endif
  268. if $gfx_rot > ""
  269.    appvar gfx_com ' $gfx_rot'
  270. endif
  271. if $gfx_size > ""
  272.    appvar gfx_com ' $gfx_size $gfx_x $gfx_y'
  273. endif
  274.  
  275.  
  276. ; --------------
  277. ; This is where we'll end up if anything goes wrong..
  278. ; i.e. such as GFXcon not finding the file and returning an error status
  279.  
  280. xOnFail
  281. EZReq  "An error occured.\nClick on Convert to continue." "OK" ""
  282.